package cn.b.sky.flowable.dao;

import cn.b.sky.flowable.model.FlowNode;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * <strong>Title : FlowNodeDao.java<br></strong>
 * <strong>Package : cn.b.sky.user.dao<br></strong>
 * <strong>Description : </strong>流程模型节点信息表<br> 
 * <strong>Create on : 2015-11-12 下午5:06:17<br></strong>
 * <p>
 * @author lidapeng<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface FlowNodeDao {
  List<FlowNode> selectFlowNodeByModelIdAndTenantId(@Param("modelId") String modelId, @Param("tenantId") String tenantId);

  FlowNode selectFlowNodeByModelIdAndCode(@Param("modelId") String modelId, @Param("tenantId") String tenantId,
                                          @Param("code") String code);

  FlowNode selectFlowNodeMoreByModelIdAndCode(@Param("modelId") String modelId, @Param("tenantId") String tenantId,
                                              @Param("code") String code);

  void saveFlowNode(FlowNode node);

  void updateFlowNode(FlowNode node);

  void deleteFlowNode(@Param("modelId") String modelId, @Param("code") String code);

  FlowNode selectFlowNodeByFlowNodeId(Long flowNodeId);
}
